static const struct attribute_group cpuhp_cpu_attr_group = {
	.attrs = cpuhp_cpu_attrs, //属性
	.name = "hotplug", //属性组名称为”热插拔”
	NULL
};
#ifdef CONFIG_HOTPLUG_SMT
static const struct attribute_group cpuhp_cpu_root_attr_group = {
	.attrs = cpuhp_cpu_root_attrs, //属性
	.name = "hotplug", //属性组名称为”热插拔”
	NULL
};
#endif

static const char *smt_states[] = { //同步多线程状态定义 
	[CPU_SMT_ENABLED] 	  = "on", //开启
	[CPU_SMT_DISABLED] 	 = "off", //关闭
	[CPU_SMT_FORCE_DISABLED]    = "forceoff", //强制关闭
	[CPU_SMT_NOT_SUPPORTED] 	= "notsupported", //不支持
	[CPU_SMT_NOT_IMPLEMENTED]   = "notimplemented", //未实现
};
static const struct attribute_group cpuhp_smt_attr_group = { // cpu热插拔同步多线程属性组定义
	.attrs = cpuhp_smt_attrs, // cpu热插拔同步多线程属性定义
	.name = "smt", //属性组名称为”同步多线程”
	NULL
};
//cpu_bit_bitmap[]是一种特殊的“压缩”数据结构，表示1<<NR的所有NR_CPUS位二进制值。
//cpumask_of（）使用它来获取仅设置了一位的CPU掩码值的常量地址。
const unsigned long cpu_bit_bitmap[BITS_PER_LONG+1][BITS_TO_LONGS(NR_CPUS)] = {

	MASK_DECLARE_8(0),  MASK_DECLARE_8(8),
	MASK_DECLARE_8(16), MASK_DECLARE_8(24),
#if BITS_PER_LONG > 32
	MASK_DECLARE_8(32), MASK_DECLARE_8(40),
	MASK_DECLARE_8(48), MASK_DECLARE_8(56),
#endif
};
const DECLARE_BITMAP(cpu_all_bits, NR_CPUS) = CPU_BITS_ALL;// 定义一个数组cpu_all_bits,类型为unsigned long,长度为1 